Image processing device, image processing method, game device, and craft simulator

ABSTRACT

To achieve a more realistic and richer shifting field, such as water surface over which a jet-ski or other object travels, thereby heightening the interest and ambiance of the game.  
     An image processing device for processing image data for moving an object such as a watercraft over a water surface in three-dimensional space. Comprises means for cyclically shifting the height at given positions of the water surface over time (CPU  101 ) and means for moving the watercraft while contacting the water (CPU  101 ). Determination of contact between watercraft and water surface, watercraft tilt correction, boat wake drawing processing, and the like are performed by the CPU  101.

TECHNICAL FIELD

[0001] The present invention relates to an image processing device, animage processing method, a game device, and a craft simulator, and moreparticularly to an image processing method, a game device, and a craftsimulator adapted for use with games, such as those simulating a boat,jet-ski, or other watercraft traveling over the surface of water,employing a three-dimensional virtual space in which a field throughwhich the characters move shifts temporally and spatially.

BACKGROUND ART

[0002] In recent years, game devices which utilize image processingtechnology, whether for home or business use, have come to offer clearerand more realistic images, thereby creating a demand for enhanced anddiversified game content.

[0003] One area in which game devices of this design are known is thatof game devices for driving games (car race games). In driving games,realistic simulation of vehicle motion is of particular importance.Conventional simulations employ a material point model in which thevehicle is placed at a single material point, such as the location ofcenter of gravity. In one known method, the mode of contact (touch)between the vehicle and the ground is determined using this singlepoint. In driving games, creating special effects for vehicle movementhas now become essential. Widely employed special effects include dustclouds and tire tread marks.

[0004] In games which simulate watercraft, such as boats and jet-skis, awater surface (or ocean surface) constitutes the field through which theobject moves. There are some crucial differences between a water surfaceand a land surface in terms of the characteristics of the field. As maybe readily seen from the differences between the two in real space, thespatial position of the course traveled by the vehicle does not changeover time, while a water surface ordinarily shifts due to wind andwaves.

[0005] Accordingly, data for the field in a vehicle game, that is, thethree-dimensional space which forms the countryside and road, can befixed data. In contrast, in the field used in a watercraft game, namely,a water surface, the height of the water surface at any given locationmust be made to change over time in order to provide a more realisticsimulation. Since the adoption of design rules for conventional cargames makes it impossible to produce anything but a water surface thatis stationary over time, games designed using such rules have monotonousmotion and lack a realistic game feel. This is particularly problematicfor race games in which several boats compete in terms of speed andposition, and poses a significant handicap to creating a game that isinteresting.

[0006] Despite this state of affairs, there have been no previousproposals for creating shifting water surface (field) image data in asimple and realistic manner. Needless to say, no satisfactory specificproposals have been made regarding methods for accurately determiningthe mode of contact (touch) with a water surface, or methods for imageprocessing of water surface-related special effects, such as a wake.

[0007] Some games which simulate watercraft such as boats and jet-skisemploy a craft simulator (rocking component) which the player actuallymounts for simulated operation. In this type of game, during the courseof the game, the rider, sitting astride a rocking component simulatingan actual watercraft, operates the handle or other controls to steer thecraft, whereupon a turning radius which generally reflects the steeringinput, specifically, the steering angle, in the game is determined, theappropriate motion is simulated, and the rocking component tilts inresponse to the steering angle to provide the simulated experience ofturning. According, steering relies on handle control exclusively.

[0008] However, when a jet-ski, motor boat, or other watercrafttraveling over a water surface attempts to turn smoothly, it isnecessary, in addition to controlling the handle, to appropriately shiftone's body weight to the left or to the right, as the turning radius isalso affected by tilt of the craft induced by shifting body weight.

[0009] Conventional craft simulators are operated by handle controlexclusively and do not accommodate any shifting of body weight. Therider cannot tilt the rocking component by shifting body weight, makingthe motion of the craft quite different from that of actual operation.Accordingly, the game lacks realism and fails to provide a realistic andexciting experience.

[0010] The present invention was developed with the foregoing in view,and has as an object to provide an image processing device, an imageprocessing method, and a game device which afford more realistic andenhanced representation of a shifting field, such as a water surface,over which a motor boat, jet-ski, or other object travels, and toprovide a more interesting watercraft game.

[0011] A second object of the present invention is to achieve accurateimage processing whereby the mode of contact (touch) between watersurface and watercraft in a three-dimensional virtual space can bedetermined accurately, and errors in height processing for the watersurface and watercraft can be eliminated.

[0012] A third object of the present invention is to provide an imageprocessing method that can accurately represent boat wakes, objectssubmerged in the water, and the like with reduced processing.

[0013] A fourth object of the present invention is to provide a gamedevice capable of providing a realistic virtual reality experiencesimulating travel of a craft ridden by the player over the water.

[0014] A fifth object of the present invention is to provide a craftsimulator whereby the rocking component can be tilted appropriatelythrough a combination of steering and shifts in body weight by therider, thereby providing a realistic sensation similar to that ofturning an actual craft.

SUMMARY OF THE INVENTION

[0015] An object of the present invention is to provide an imageprocessing device which affords more realistic and enhancedrepresentation of a temporally shifting field, such as a water surface,over which a jet-ski or other object travels and which provides a moreinteresting watercraft game and enhanced ambiance, Accordingly, theimage processing device which pertains to the present inventioncomprises means for processing image data whereby a watercraft or objectmay be moved over a water surface in a three-dimensional virtual space,means for periodically varying over time the height of the water surfaceat given locations, and means for moving a watercraft while in contactwith the water. Further, watercraft-to-water surface contactstabilization, watercraft tilt correction, watercraft wake imageprocessing, and the like are performed.

[0016] A further object of the present invention is to provide a craftsimulator whereby a rocking component ridden by the rider can be tiltedappropriately through a combination of steering and shifting of bodyweight, thereby affording a realistic sensation close to that of turningan actual craft. Accordingly, the craft simulator which pertains to thepresent invention comprises a rocking component which is ridden by therider, steering means provided to the rocking component, steering anglesensor means for sensing the steering angle of the steering means,support means for tiltably supporting the rocking component, left andright tilting cylinders which function so as to maintain lateral tiltequilibrium for the rocking component, and pressure regulation means forregulating the pressure applied to the left and right tilting cylinderson the basis of sensor output signals from the steering angle sensormeans.

BRIEF DESCRIPTION OF THE DRAWINGS

[0017]FIG. 1 is an external view of a jet-ski game device pertaining toone embodiment of the present invention;

[0018]FIG. 2 is a simplified perspective view showing the suspensionmechanism of the cage of the game device;

[0019]FIG. 3 is a system diagram of the air line system of thesuspension mechanism;

[0020]FIG. 4 is an illustrative diagram showing motion of the suspensionmechanism in the pitching direction;

[0021]FIG. 5 is an illustrative diagram showing motion of the suspensionmechanism in the pitching direction;

[0022]FIG. 6 is a simplified block diagram of the data processingsection of the game device;

[0023]FIG. 7 is a simplified example flow chart of all the processesexecuted by the CPU;

[0024]FIG. 8 is a simplified flow chart of undulating waverepresentation processing executed by the CPU;

[0025]FIG. 9 is an illustrative diagram showing a model representationof a table of set values for wave swell height;

[0026]FIG. 10 is a diagram depicting the display area and visual fieldrange;

[0027]FIG. 11 is a flow chart of wave-to-watercraft contactdetermination executed by the CPU;

[0028]FIG. 12 is a one-dimensional illustrative diagram depictingcontact determination;

[0029]FIG. 13 is a flow chart of watercraft tilt correction executed bythe CPU;

[0030]FIG. 14 is an illustrative diagram of watercraft tilt correction;

[0031]FIG. 15 is a flow chart of wake polygon drawing processingexecuted by the CPU;

[0032]FIG. 16 is a diagram illustrating wake polygon relationships;

[0033]FIG. 17 is a diagram illustrating the wake polygon elongationprocess and conditions for its termination;

[0034]FIG. 18 is a diagram illustrating wake polygon angle conditions;

[0035]FIG. 19 is a diagram illustrating wake polygon and water surfaceheight conditions;

[0036]FIG. 20 is a partial flow chart depicting processing forrepresentation of a rock partially submerged in the water;

[0037]FIG. 21 is a diagram illustrating processing for a display of arock partially submerged in the water;

[0038]FIG. 22 is an external view of the entire craft simulatorpertaining to the second embodiment of the present invention;

[0039]FIG. 23 is a simplified side view of principal components showingthe rocking mechanism of the watercraft;

[0040]FIG. 24 is a plan view thereof;

[0041]FIG. 25 is a rear view thereof;

[0042]FIG. 26 is a side view of principal components in anotherattitude;

[0043]FIG. 27 is a rear view of principal components with the watercraftin a horizontal attitude;

[0044]FIG. 28 is a rear view of principal components with the watercrafttilted to the right;

[0045]FIG. 29 is a rear view of principal components with the watercrafttilted to the left;

[0046]FIG. 30 is a simplified block diagram of the control system; and

[0047]FIG. 31 is an illustrative diagram showing cylinder air pressurecontrol.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0048] Embodiments of the present invention will be described makingreference to the appended drawings. Referring first to FIGS. 1 through5, a design for the craft simulator of the present invention (firstembodiment) will be described; this will be followed by a description ofimage processing in the present invention, making reference to FIGS. 6through 21. Another design for the craft simulator (second embodiment)will then be described, making reference to FIGS. 22 through 32.

Description of Design of First Embodiment of Craft Simulator

[0049] First, referring to FIGS. 1 through 5, the design of the firstembodiment of a craft simulator designed to exchange prescribed controlsignals with the image processing device of the present invention and tomove in the same way as a character (for example, a jet-ski) displayedon the screen will be described. FIG. 1 is an external view of a jet-skigame device pertaining to this embodiment. This game device has as itsgame content a jet ski race. While not shown, it would be possible toprovide a plurality of networked jet ski game devices like that depictedin FIG. 1 so that multiple players could compete on a water race courseset up in three-dimensional virtual space, or, in the case ofsingle-player play, for the player to compete against competitors (rivalboats) preprogrammed into the device. In the game device of thisembodiment, the object is a jet-ski, but game devices pertaining toother watercraft, such as a motor boat, would be implemented in the samemanner.

[0050] The jet-ski game device shown in FIG. 1 comprises a cage 1 inwhich the player rides, and a data processing section 2 which actuatesthe mechanism of this cage 1.

[0051] As shown in FIG. 2, the cage 1 is equipped at its bottom with amecha base 11. A moving base 18 is installed above the mecha base 11,supported by a suspension mechanism comprising cylinders 12 through 16and a crank 17. The moving base 18 is mobile with respect to the mechabase 11. A saddle member 20 which the player straddles is secured to thetop of the moving base 18, and a handle member 21 that can be turnedwithin a prescribed turning angle range is rotatably disposed at thefront end of the saddle member 20. This handle member 21 is providedwith a handle 21A, and accelerator 21B, a view change switch 21C, andthe like for the player to input control data to the data processingsection 2.

[0052] During the game, the player can turn the handle 21A to output asignal indicating the angle at which the player's jet-ski (player'scraft) advances, and operate the accelerator 21B to output a signalindicating the speed at which the player's craft advances, to the dataprocessing section 2. By operating the view change switch 21C, a viewchange signal for switching between a viewpoint from the front of theplayer's craft and a viewpoint looking at the player's craft obliquelyfrom the rear can be output to the data processing section 2.

[0053] As shown in FIG. 2, between the mecha base 11 and the moving base18 of the cage 1 are disposed an air-type center cylinder 12, left andright link rod cylinders 13 and 14, left and right centering cylinders15 and 16, and a front end crank 17. The center cylinder 12 is disposedat a location in the center of the mecha base 11 in the lateral(left-right) direction, lying sideways in the longitudinal direction,and can be extended and retracted between a prescribed location at theback end of the mecha base 11 and a prescribed location on the crank 17(see FIGS. 4 and 5). The crank 17 is rotatably attached at a prescribedlocation on the top of a support component which projects upward from aprescribed location at the front end of the mecha base 11. Thisprescribed location on the top serves as the center of crank rotation.The crank 17 is joined to the moving base 18 via a spherical bearing.

[0054] As shown in detail in the line diagram in FIG. 3, the centercylinder 12 comprises serially coupled front and rear air cylindershaving the same stroke. In the vertical pressure chamber at rearsection, constant pressure is applied towards the extension side; anelectrical pressure control device (an electropneumatic regulator) 25 isconnected to the vertical pressure chamber in the front section. Sinceconstant pressure is applied towards the extension side, when a load isplaced on the moving base 18 such that force is applied in the directionof cylinder retraction, this force is balanced so that the position ofthe moving base 18 does not change. Accordingly, even when a load isapplied due to a player mounting, the small amount of air supplied tothe front end vertical pressure chambers is sufficient to actuateextension and retraction of the center cylinder 12. This makes itpossible to use a relatively low-power electrical pressure controldevice 25. In FIG. 3, 26a and 26 b indicate four-port valves, 27 a and27 c indicate two-port valves, and 28 indicates an air tank.

[0055] As shown in FIG. 3, the electrical pressure control device 25actually comprises two pressure control units, and can regulate thepressure in the front vertical pressure chambers in response toelectrical pressure control signals received from the data processingsection 2. The stroke position and stroke speed of the center cylinder12 are controlled in accordance with this pressure control.

[0056] An example of control is illustrated in FIGS. 4 and 5. As shownin FIG. 4, when the center cylinder 12 is extended, the crank 17 ispushed such that the crank 17 rotates around its center of rotation.Since the crank 17 and the moving base 18 are coupled by a sphericalbearing, the distal end of the moving base 18 is lifted upward. The linkrod cylinders 13 and 14, which support the back of the moving base 18,tilt backward. Accordingly, entire moving base 18 experiences motion inthe pitching direction whereby the front end rises and the back endfalls. As shown in FIG. 5, pitching motion in the opposite direction iscreated when the center cylinder 12 retracts. By controlling thepressure control signals delivered to the electrical pressure controldevice 25, pitching motion can be imparted to the saddle member 20,allowing the player riding on the saddle member to experience motion inthe pitching direction.

[0057] As shown in FIG. 2, the left and right link rod cylinders 13 and14 are disposed slanting inward at a location to the very rear of themecha base 11, forming a trapezoidal four-strut link member. Pressure isnormally applied toward the extension side in the link rod cylinders 13and 14, preventing them from retracting when a load is applied. Whenforce acting in the roll direction is applied to the moving base 18, amotion which is a synthesis of a rolling motion, in which the center ofmoving base 18 is shifted as it drops, with an arc motion of the movingbase 18 centered on the spherical bearing at its front end is produced.This makes possible a three-dimensional undulating motion.

[0058] As shown in FIG. 2, the left and right centering cylinders 15 and16 are disposed slanting inward at a location forward of the link rodcylinders 13 and 14. These perform a spring function, Thus, whenexternal force applied to the moving base 18 is released, the movingbase 18 is centered by the spring force provided by the centeringcylinders 15 and 16.

Description of Image Processing in the Present Invention

[0059] Next, referring to FIGS. 6 through 22, image processing in thepresent invention will be discussed in terms of “design” and “principleof operation”.

Design

[0060] First, the data processing section 2 will be discussed on thebasis of FIG. 6. This data processing section 2 is equipped with a mainprocessing unit 30, a TV monitor 31, and a speaker 32. The TV monitor 31displays the jet-ski race game images; a projector could be used inplace of a TV monitor.

[0061] The main processing unit 30 is equipped with a CPU (centralprocessing unit) 101, and is also equipped with ROM 102, RAM 103, asound device 104, an input/output interface 106, a scroll datacalculating device 107, a co-processor 108, terrain data ROM 109, ageometrizer 110, shape data ROM 111, a drawing device 112, texture dataROM 113, texture map RAM 114, a frame buffer 115, an image synthesizingdevice 116, and a D/A converter 117.

[0062] Polygons are used for image display. Polygon data refers to datagroups of relative and absolute coordinates for each apex of a polygonconsisting of a collection of a plurality of points.

[0063] The terrain data ROM 109 stores relatively loosely definedpolygon data sufficient to make determinations as to contact betweenwatercraft and water surface, described later. In contrast, the shapedata ROM 111 stores more specifically defined polygon data pertaining tothe shapes which make up the watercraft, water surface, background, andother image elements.

[0064] The CPU 101 is connected via a bus line to the ROM 102 whichstores the prescribed programs and the like, the RAM 103 which storesdata, the sound device 104, the input/output interface 106, the scrolldata calculating device 107, the co-processor 108, and the geometrizer110. The RAM 103 functions as a buffer, and writes various commands tothe geometrizer 110 (such as object display commands and the like), andit writes matrices for conversion matrix calculation.

[0065] The input/output interface 106 is connected to the input/outputdevice 21 and the electrical pressure control device 25, various lamps,and other output devices, whereby operating signals from the handle ofthe input device 21 are supplied to the CPU 101 as digital values, whileat the same time control signals generated by the CPU 101 and the likecan be output to the electrical pressure control device 25. The sounddevice 104 is connected to the speaker 14 via a power amplifier 105 andsound signals generated by the sound device are amplified before beingfed to the speaker 32.

[0066] In this embodiment, the CPU 101 reads in operating signals fromthe input device 21 based on a program stored in the ROM 102, terraindata from the terrain data ROM 109, and shape data from the shape dataROM 111 (three dimensional data for objects such as the player's craftand other watercraft, and background elements such as the water surface,sky, islands, trees, and rocks) and, at a minimum, conducts at leastwatercraft movement processing as well as water surface wave swellrendering/processing, water surface (wave)/watercraft contact (touch)determination/processing, processing for drawing wakes, and processingfor rendering objects in the water.

[0067] Watercraft movement processing involves simulating the motion ofthe watercraft in three-dimensional virtual space in accordance with theoperating signals given by the player via the input device 21. Aftercoordinate values in the three-dimensional space have been determined, aconversion matrix for converting these coordinate values to a viewpointcoordinate system and shape data (watercraft, terrain, and the like) aredesignated to the geometrizer 110. The co-processor 108 is connected tothe terrain data ROM 109, and predetermined terrain data is supplied tothe co-processor 108 and to the CPU 101. The co-processor 108principally makes determinations as to contact between watercraft andthe water surface, and during this determination and watercraft movementcalculations, it mainly undertakes floating point calculations. As aresult, determinations as to contact between watercraft and the watersurface are executed by the co-processor 108 and the results of thedetermination are provided to the CPU 101. Accordingly, the calculationload on the CPU 101 is reduced and contact determinations can be mademore rapidly.

[0068] The geometrizer 110 is connected to the shape data ROM 111 andthe drawing device 112. The shape data ROM 111 stores predeterminedpolygon shape data (three-dimensional data for watercraft, watersurfaces, backgrounds, and the like consisting of several apices), andpasses this shape data to the geometrizer 110. The geometrizer 110carries out perspective conversion of the designated shape data using aconversion matrix supplied by the CPU 101 to produce data converted fromthe coordinate system in the three-dimensional virtual space to a visualfield coordinate system.

[0069] The drawing device 112 applies texture to shape data that hasbeen converted to a visual field coordinate system, and outputs thisdata to the frame buffer 115. In order to apply this texture, thedrawing device 112 is connected to a texture data ROM 113 and a texturemap RAM 114, as well as to the frame buffer 115.

[0070] The scroll data calculating device 107 calculates data forscrolling screens of text or the like, and this calculating device 107and the aforementioned frame buffer 115 are connected via the imagesynthesizing device 116 and the D/A converter 117 to the TV monitor 13.Thereby, the polygon images of the watercraft, water surface,background, and the like stored temporarily in the frame buffer 115 aresynthesized according to a designated priority with a scrolling image oftext information indicating speed, lap time, and the like, to generatethe final frame image data. This image data is converted to an analogsignal by the D/A converter 117 and supplied to the TV monitor 13, whichdisplays the watercraft race game images in real time.

[0071] As shown in FIG. 6, the programs and data required for imageprocessing in the present invention are stored in the ROM 102 (whichstores image processing programs and the like), the terrain data ROM 109and 111, and the texture data ROM 113. The invention is not limited tothese ROM devices; the aforementioned programs and data may be stored ina recording medium of any configuration, and this recording mediumemployed in the image processing device of the present invention.

[0072] The recording medium referred to here is one capable of storinginformation by some physical means and that allows the image processingdevice of the present invention to execute the prescribed imageprocessing. Specifically, the recording medium of the present inventionstores programs for performing the image processing described in theSpecification, and some or all of the processing required by the game.

[0073] Examples include a CD-ROM, DVD, ROM cartridge, CD-R, batterybackup-equipped RAM memory cartridge, flash memory cartridge,nonvolatile RAM cartridge, game cartridge, floppy disk, hard disk,magnetic tape, or magnetooptical disk.

[0074] Communication media, such as phone line or other hardwiredcommunication media, and microwave circuits or other wirelesscommunication media are also included. The communication media referredto here also include the Internet.

Basic Principle of Operation

[0075] Next, the basic principle of this game device will be describedreferring to FIGS. 7 through 21. First, the entire process conducted bythe CPU 101 will be described referring to FIG. 7, and the contents ofthe various steps will then be discussed referring to FIGS. 8 through21.

Contents of Entire Process (Step 201-Step 212)

[0076] When the game device is turned on, the CPU 101 initiates theprocess shown in the drawing by means of timer interrupt processes atfixed time intervals (Δt) corresponding to a single frame cycle.

[0077] First, it is determined whether prescribed variables have beeninitialized (step 201). While this determination process is not shown,it is accomplished by a flag process, for example. In the event thatinitialization has not been completed, that is, where the processillustrated in FIG. 7 is being started for the first time, aninitialization step is executed (step 202).

[0078] Next, the operation information pertaining to jet-ski operation(in this case, handle steering angle, accelerator position, and the viewchange switch signal) input by the player through operation of the inputdevice 21 is read by the CPU 101 as digital values via the input/outputinterface 106 (step 201). From this operation information, the CPU 101employs the steering angle (i.e., the direction of advance) and theaccelerator position (i.e., the speed at which the jet-ski is driven) tocompute a position in a two-dimensional plane (x, z) withinthree-dimensional virtual space as the player's craft position duringthe current interrupt (step 204). Here, the x-z plane withinthree-dimensional virtual space is the plane of the field representingthe water surface. Accordingly, wave height is expressed in thedirection of the y axis.

[0079] Once the current position (x, z) has been determined, the CPU 101sequentially calculates the swell height of waves on the water surface(step 205), performs wave-player craft contact determination/processing(step 206), performs processing of player's craft tilt relative to waveslope (step 207), performs processing for wake representation (step208), and performs processing for rocking the cage 1 (step 209). Theseprocesses are an important feature of the present invention) and will bediscussed in further detail later. Of the processes mentioned above, theprocesses of steps 205 through step 207 can be executed in any suitableorder, and need not be executed in the order given above.

[0080] When this series of processes has been completed, the processingrequired to draw shape data (polygon data), including processing formovement of the watercraft, is performed (step 210) with reference tothe viewpoint instructed by the view change switch 21C. This processingincludes processing for simple representation of submerged rocks andother objects, discussed later.

[0081] The CPU 101 also creates a perspective conversion matrix forperspective conversion of three-dimensional shape data into the visualfield coordinate system (step 211). This matrix, together with shapedata, is provided to the aforementioned geometrizer 110 via the RAM 103(step 212).

[0082] This series of processes is executed during each frame intervalof the TV monitor 31.

Processing for Representing Swell (step 205)

[0083] Next, processing for representing wave swell height in step 205will be described on the basis of FIGS. 8 through 10.

[0084] From a table stored in the ROM 102, the CPU 101 reads a set valueH for the swell height of a new wave (hereinafter termed “wave swellheight”) corresponding to two-dimensional coordinates (x, z)representing the position of the jet-ski operated by the player (step205-1). This swell height set value table is modeled in FIG. 9. A watersurface race course 130 with specified extension corresponding to thex-z plane in the virtual three-dimensional space is established. Therace course 130 is further divided into a plurality of blocks BK, and aset value for swell height H is assigned to each block BK. The areasshaded with diagonal lines in this modeled race course 130 representland. Thus, areas between land areas are determined to be inlets, andblocks lying in these inlet areas are assigned relatively low set valuesfor swell height. Conversely, areas determined to be open ocean areassigned high set values for swell height. When the jet-ski follows thecourse indicated by the arrow in FIG. 9, the position coordinates (x, z)during a certain frame time t₁ lie in the upper right block BK, andaccordingly the set value for swell height H=0.5 m is read out. At timet₂, the craft moves to the neighboring block BK, whereupon H=0.6 m isread out. At time t₃, the craft moves to the block BK below, whereuponH=0.4 m is read out.

[0085] Next, the CPU 101 compares the set value for swell height H′during the previous interrupt (a prescribed period of time correspondingto the frame interval) with the set value for swell height H in theblock currently occupied by the jet-ski during the current interrupt(step 205-2). Where the result of this comparison is H<H′ or H>H′, theresult of the operation H′+(H−H′)·k is substituted for H (step 205-3).The value of the coefficient k is about 0.05, for example. Thus, evenwhen transition to another block results in a difference in the previousand current set value for swell height, the swell height value read outfor the previous block is gradually transformed into the swell heightvalue read out for the current block while the frame is repeated. Thus,sharp changes in set values for wave height are avoided, and changes inwave swell height from block to block can be accomplished smoothly.

[0086] Once the determination in step 205-2 is NO, or the process of theaforementioned step 205-3 has been executed, the processes of step 205-4and subsequent steps are executed in sequence. First a predeterminedconstant value set for the purpose of advancing waves (creating wavemotion) is added to a speed counter (step 205-4). The location (x, z) ofa prescribed number (for example, 100) of polygon grids defined asconstituting a single item of object data (a group of object datatreated as a single object) is read out (step 205-5).

[0087] The swell height Yp at each location (x, z) of the prescribednumber of polygons (e.g.: polygon center of gravity or apex locations,polygon locations as computed from current jet-ski location) is computedfor all polygons using the following equation (steps 205-6, 205-7).

Yp=cos(CNT192n+(int)(x·WR))·H+sin(CNT+(int)(x·WR)+CNT·2n+(int)(z·WR)·H·c

[0088] Here,

[0089] CNT: wave speed counter incremented by a prescribed number eachframe

[0090] WR: wave rate per polygon size (20 m, for example) x, z: x, zcoordinates in three-dimensional virtual space (global coordinatesystem)

[0091] H: value equivalent to maximum height value (set value forcurrent swell height)

[0092] c: coefficient for reducing wave in a prescribed direction

[0093] N: positive integer (2n is a tiling element)

[0094] cos, sin: cos function, sin function

[0095] The wave rate is a rate (a constant, for example) used to computewave swell cycle and height. The tiling element refers to a wave objectcreated from a prescribed number (for example, 100) polygons; n verticalmembers and n horizontal members are arranged on the game screen to formthe ocean surface, land, and the like.

[0096] Using the above equation, waves synthesized from sine waves andcosine waves are computed individually for each of the 100 polygonswhich constitute the single object data item.

[0097] The equation used to compute the swell height Yp is not limitedto that given above; sine waves and cosine waves can be synthesized in asimpler fashion, or, in some cases, swell data can be computed from asine wave or cosine wave component alone.

[0098] When swell computations have been completed, the computed swellheight data for the 100 polygons is stored in the RAM 103 (step 205-8).This makes it possible for the swell height data for the 100 polygons tobe used as a single object data item.

[0099] Next, the object data, specifically, swell height data for, forexample, 100 polygons, is written to each of a prescribed number ofdisplay areas (for example, 4×4 object data, one object data itemcomprising, for example, 100 polygons) (step 205-9). By so doing, atotal of 1,600 display polygons are written into a 4×4 display area, asshown in FIG. 10.

[0100] Next, a hypothetical viewpoint camera is placed, for example, atthe center O of a prescribed number of display areas (4×4, for example),and polygons falling within this visual field range θ are designated(step 205-10). As a result, only polygons lying within this visual fieldrange are displayed. Processing in this way allows the feel of a watersurface, which differ from conventional stationary racing courses,backgrounds, and the like, to be represented accurately, therebyimproving water game ambiance and heightening game qualities.

Contact Determination/Processing (Step 206)

[0101] Next, the process of determining contact between wave swells andthe jet-ski and subsequent processing (executed in step 206 in FIG. 7)will be described on the basis of FIG. 11 and FIG. 12.

[0102] First, using the equation given earlier, the CPU 101 computes theswell height Yp=f (x, z) corresponding to the position of the jet-ski(x, z) during the current interrupt (step 206-1). FIG. 12 shows anexample in one dimension x. Next, the height of the jet-ski at thispoint in time is designated b, and this height value b is compared tothe swell height Yp=f (x, z) to determine whether Yp=f (x, z)>b (step206-2). The jet-ski height b is, for example, the distance from the y=0position in the world coordinate system to the position of center ofgravity of the jet-ski.

[0103] If the contact determination is NO, that is, if Yp=f (x, z)≦b,the jet-ski is considered to be positioned above the wave. In thisevent, a free-fall equation representing gravitational acceleration g isused as the basis for computing a new jet-ski height b at which thejet-ski will contact (touch) the wave surface (step 203-6).

[0104] In contrast, when the contact determination in step 206-2 is YES,the jet-ski is considered to be contacting the wave or nosing under thewater, and accordingly the separate series of processes in steps 206-4through 8 are executed. Specifically, the submerged depth, d=f (x, z)−b,is computed (step 206-4), and the displacement, V=d·S, corresponding tothe submerged depth is computed (step 206-5). S is the area of thejet-ski bottom. The acceleration in the vertical direction, Gy, producedby the buoyancy to which the jet-ski is subjected as a result of thisdisplacement V is computed from the equation

Gy=(V−F)/m=(V−m·g)/m

[0105] (step 206-6). Here, m represents jet-ski mass and Gy representsgravitational acceleration. Next, a new jet-ski vertical acceleration iscomputed by adding this acceleration Gy to the jet-ski verticalacceleration, and a new jet-ski height is computed from this newacceleration value (step 206-8). Height computations are continued untilV·g and m·g reach equilibrium (step 206-7).

[0106] By means of the contact determination and subsequent jet-skiheight processing described above, travel over water can be representedaccurately. In contrast to contact determinations for conventionalstationary racing course and backgrounds, highly accurate determinationscan be made using a relatively simple algorithm, thereby furtherenhancing game ambiance.

[0107] Contact determinations are made on the basis of three apices onthe bottom surface of the craft (the plane of projection is an isoscelestriangle) and a prescribed point on the wave (the front edge or backedge of the wave, or some point in between).

Jet-Ski Tilt Processing (Step 207)

[0108] Jet ski tilt processing, executed in step 207 in FIG. 7, will bedescribed on the basis of FIG. 13 and FIG. 14. Jet ski tilt processingis performed in response to constantly changing wave slope.

[0109] First, the CPU 101 computes the first derivative f′ (x, z) ofwave swell at the position (x, z) of the jet-ski during the currentinterrupt (step 207-1), The first derivative f′ (x, z) is then used tocompute a wave angle, α=tan⁻¹ f′ (x, z) (step 207-2; see FIG. 14).

[0110] Once this is done, the previous (current) jet-ski angle β, thatis, the angle formed by the axis lying in the lengthwise direction ofthe jet-ski (the angle (vertical angle) formed with respect to the x, zplane in the normal coordinate system (world coordinate system)) is readout from memory (step 207-3). Next, α−βE= is computed to determine anangle differential E (step 207-4). Using a predetermined infinitesimalangle, ΔE, E′=E−ΔE is computed (step 207-5). β=β+E′ is also computed,and the value β so computed is stored for use during the next interrupt(step 206-6, 7).

[0111] This process is repeated at fixed time intervals Δt shorter thanthe wave motion of the waves, thereby allowing the jet-ski angle β togradually and smoothly approximate the wave angle α. As a result,unnatural angular relationships between jet-ski and wave are avoided,and the jet-ski is depicted as if constantly riding over the waves whileconforming to the wave angle thereof.

Wake Representation Processing (Step 208)

[0112] Next, the wake representation processing executed in step 208 inFIG. 7 will be described on the basis of FIG. 15 through FIG. 19. Thepurpose of this is to represent as a gradually disappearing image thewake left on the water surface by a jet-ski (player's craft or othercrafts) traveling over it. A wake is represented by a plurality ofconnected polygons. Each polygon used to form a wake is termed a wakepolygon.

[0113] During the interrupt accompanying the current frame, the CPU 101uses a flag processed previously (a previously raised flag) in order todetermine whether the wake polygon display currently in processing isbeing elongated (step 208-1). If the determination is NO, that is, ifnew a wake polygon is to be drawn, the current jet-ski position andangle of travel are selected (copied) for use as the trailing edgeposition and angle for the wake polygon which is to be drawn (step208-2). The current watercraft position and angle of travel are storedin memory means until the wake polygon finally disappears.

[0114] When this trailing edge processing has been completed, the newcurrent jet-ski position and angle of travel are designated (copied) foruse as the leading edge position and angle for the next wake polygon tobe drawn (step 208-3).

[0115] Next, a determination is made as to whether conditions forterminating (stopping) wake polygon elongation exist (step 208-4). Here,these conditions are:

[0116]1) wake polygon elongation has continued for a prescribed time, orover a prescribed distance (see FIG. 17);

[0117]2) the angle between wake polygon trailing edge and leading edgehas reached a prescribed angle, specifically, the angle formed byperpendicular lines (centerlines) projected from the center of thetrailing edge is equal to or greater than a prescribed angle (see FIG.18);

[0118]3) the jet ski (wake generating source) has become distanced, byan amount equivalent to a set value or more, from the space or surface Lin which a wake is left (see FIG. 19).

[0119] A YES determination in step 208-4 indicates that one of thesethree conditions has been met, and accordingly a special determinationis made as to whether the third condition of the three conditions hasbeen met (step 208-5).

[0120] If, in the course of the two determination processes mentionedabove, it is ascertained either that none of the conditions fortermination has occurred (NO in step 208-4) or that a condition fortermination has occurred but this condition is not the third conditionpertaining to height (NO in step 208-5), a subsequent determination ismade as to whether elongation has ended and if the wake polygon is beingmaintained (step 208-6). If this determination is NO, the wake polygonthat has been elongated up to the present through the leading edge copyprocess in step 208-3 is maintained while suspending further elongation(step 208-7). Where a wake polygon is already maintained, the process ofstep 208-7 is skipped.

[0121] Next, a determination is made as to whether a prescribed periodof time has elapsed since the currently held wake polygon first began tobe maintained (step 208-8). If this determination is YES, it isconcluded that this wake polygon is no longer needed in the display, andin order to avoid increased processing demands, reduction processing forthe wake polygon is continued until complete (steps 208-9, 10). As aresult, the polygon, which had been maintained at a given length up tothat point in time, is allowed to shrink over successive frames until itfinally disappears from the display. Specifically, the wake polygonlength is gradually shortened by a shrinking it by a prescribedpercentage during each frame (each {fraction (1/60)} of a second), or bysome other means. This allows the impression of a gradually disappearingwake to be created.

[0122] As an alternative, the texture that has been applied to the wakepolygon can be modified in such a way that the wake disappears, or thewake polygon can be subjected to translucency processing to produce thesame result. Translucency processing refers to combining wake polygoncolor data with water surface color data to create new color data, orsome similar process. By performing translucency processing during eachframe, the color of the wake polygon gradually approximates the color ofthe water surface (field).

[0123] In the present invention, “field” refers to the water surface,but no limitation thereto is implied. For example, in video games whichsimulate car operation, fields include the ground, the race course, andthe like. In combat games, the field refers to the background. In short,a field is a background that is paired with a wake, Accordingly, theformation of a motion trail (moving tracks,or moving trail) reflectingthe movement of a particular object is not limited to representation ofa wake, but finds potential application in car skid marks, as well asfoot tracks.

[0124] A determination of YES in the aforementioned step 208-5 meansthat, for example, the jet-ski has taken a big jump off the watersurface; physics dictates that no wake polygon should be produced insuch a case. Accordingly, an instruction to halt wake polygon drawing isissued (step 209-11).

[0125] In this way, the data required for drawing a wake polygonprocessed in this way (a currently elongated wake polygon, and/or acurrently maintained wake polygon (including those in reductionprocessing)) is provided. This data includes prescribed distances fordetermining two points lying in the direction of the edge at the leadingedge and trailing edge of the wake polygon; a quadrangular wake polygonis defined by connecting these four points. Texture is applied to thequadrangle by the drawing device 112 in such a way that the leading edgeand trailing edge patterns are connected.

[0126] The processing depicted in FIG. 15 is repeated during each frame.Thus, as shown in FIG. 17, when elongation of a wake polygon begins attime t=t_(S), this same wake polygon S0 continues to be elongated untilt−tmax (that is, it is redrawn in each frame so as to become elongated).At time t=tmax, elongation is terminated and elongation of the next wakepolygon S1 begins. The terminated wake polygon S0 continues to bedisplayed for a prescribed period of time, and then shrinks beginning atthe trailing edge, eventually disappearing from the screen. Similarly,termination may take place on the basis of the length of the wakepolygon. Accordingly wake processing that avoids any sense ofunnaturalness can be accomplished without extending the wake infinitely,even when the jet-ski is moving at high speed.

[0127]FIG. 16 shows three wake polygons S0 through S2 drawncontiguously. In temporal terms, S2 is the newest, followed by S1 andS0; accordingly, the oldest wake polygon S0 eventually shrinks beginningat the trailing edge as it disappears from the screen. In the samedrawing, v0 is a vector indicating the trailing edge direction for wakepolygon S1, v1 is a vector indicating the leading edge direction forwake polygon S0 and the trailing edge direction for wake polygon S1, andv1 is a vector indicating the leading edge direction for wake polygon S1and the trailing edge direction for wake polygon S2. The initial wakepolygon S0 is drawn as quadrangle Pr₀, Pl₀, Pl₁, Pr₁, the second wakepolygon S1 as quadrangle Pr₁, Pl₁, Pl₂, Pr₂, and the third wake polygonS2 as quadrangle Pr₂, Pl₂, Pl₃, Pr₃.

[0128] As shown in FIG. 18, once the differential angle θ between thedirection of advance v1 of the jet-ski B and direction v0, whichindicates the angle of the trailing edge of wake polygon S0, exceeds acritical value θmax, which represents the limit to which the wakepolygon can be bent during drawing, the wake polygon S is automaticallyterminated and a new wake polygon is created. Thus, if the jet-ski Bshould turn at a curvature exceeding a prescribed angle, wake polygonswill be drawn in response thereto in such a way that any unnatural feelis minimized.

[0129] As shown in FIG. 19, in the event that the jet-ski B should riseabove the space or plane L in which a wake should be left, by a distancewhich exceeds a prescribed height hmax, the wake display is suspendedduring this time.

[0130] In this way, wake polygons are represented in such a way thatthey are lengthened or shortened for the player. That is, the end pointcoordinates of a trail polygon can be modified in accordance to travelof a moving body (or in accordance with the passage of time) and redrawnat every interrupt so that the polygon appears to expand and contract.

[0131] As the motion tracks are deleted gradually, stage effect of gamesis improving without preventing player's view sight.

Processing for Rocking Cage (Step 209)

[0132] Next, the processing used for rocking the cage 1, executed instep 209 in FIG. 7, will be described.

[0133] In this embodiment, jet-ski contact determination/processing isexecuted in step 206 in the same drawing, and during this step thecurrent height b of the jet-ski is computed at fixed time intervals Δt.This height b is controlled in response to wave swell height. In step207 in the same drawing, tilt of the jet-ski is computed as well, andthis tilt is also linked to wave swell height.

[0134] Accordingly, when the CPU 101 reaches step 209, electricalpressure control signals corresponding to the jet-ski height b and tiltthat have been computed at this point in time are generated, and thesesignals are delivered to the electrical pressure control device 25 ofthe cage 1.

[0135] As a result, the electrical pressure control device 25 adjuststhe pressure in all of the vertical pressure chambers of the centercylinder 12, thereby extending or retracting the center cylinder 12stroke so that the cage 1, and specifically the saddle 20, rocks in thepitching direction in the manner depicted in FIGS. 4 and 5.

[0136] This rocking processing is performed at fixed time intervals Δt.Wave swell height, on the other hand, is processed on an individual andindependent basis. That is, the element of wave swell height isreflected in rocking processing for the saddle 20 when necessary.

[0137] As a result, even when the jet-ski is not moving, the wave swellheight fluctuates in accordance with a wave synthesized from a sine waveand a cosine wave, and accordingly the saddle 20 rocks slightly,creating the impression that the player is riding on a watercraft whichis sitting in the water. Since swell height and angle change as thecraft moves, motion of the saddle 20 in the pitching direction iscontrolled to within a pitching range and speed in accordance with thesevalues. This creates an impression of wave size and speed for theplayer, enhancing the realism of the game.

Processing for Display of Objects Submerged in the Water (Step 210)

[0138] In step 210 in FIG. 7, during the shape data (polygon data)processing which accompanies jet-ski movement, polygon data processingfor displaying objects submerged in the water is conducted in the mannershown in FIGS. 20 and 21.

[0139] The CPU 101 first draws a polygon representing the water surfaceWL (step 210-1 in FIG. 20). Next, rock RK polygons, for example, aredrawn thereon (step 212-1). During drawing of a rock RK, that portionRK′ of the rock RK whose computed coordinates lie under the water isrendered in a color indicating submersion (such as a brown-tinged bluecolor) and is subjected to mesh treatment in advance.

[0140] By creating rock polygons modeled in advance in the mannerdescribed above, modeled rocks can simply be drawn as polygons withoutusing a Z buffer, thereby allowing partially submerged rocks to berepresented easily. Thus, even when using a data processing section(board) that is not equipped with translucent display functionality,such displays can be made easily and with relatively light processingdemands compared to a Z buffer, which represents a significantadvantage. Specifically, since objects submerged in the water arerendered before the water surface is, the task of sorting in a Z sortcan be avoided.

[0141] In the embodiment described above, a configuration adapted to ajet-ski, motor boat, or other watercraft was described. However, theinvention is not limited to these, and may be adapted to water games,aviation games, and the like as well. In this case, water flow withinthe water or an air stream in the sky would serve as the temporally andspatially shifting field.

[0142] In the foregoing description, the ROM depicted in FIG. 3corresponds to the recording medium which stores the applicationsoftware.

Description of Second Embodiment of Craft Simulator

[0143] Referring next to FIGS. 22 thorough 32, the design of a secondembodiment of a craft simulator constituted so as to exchange prescribedcontrol signals with the image processing of the present invention andto produce movements identical to those of a character displayed on thescreen (such as a jet-ski) will be described.

[0144]FIG. 22 is an external view of an entire craft simulator 100. Ajet-ski body 3000 modeled on a jet-ski is rockably supported on a flatstand 2000. A television monitor 900 is disposed to the front of thejet-ski body 3000. The screen 900 a of the television monitor 900 is alarge screen forming a vertical plane located directly in front of theplayer riding the jet-ski body 3.

[0145] The craft body cover 4000 of the craft body 3000 is elongated inthe front-to-back direction. A rod-shaped steering handle 500 isdisposed at the front of the craft body, and a steering angle sensor1000 for sensing the steering angle is provided to the steering shaft.One of the grips 500 a and 500 b disposed at the left and right ends ofthe steering handle affords acceleration control and is provided with anacceleration control sensor 100 for sensing the angle of rotation.

[0146] A seat 600 which is elongated in the front-to-back direction isdisposed to the rear of the steering handle 500. The player sits astridethe seat 600, placing the feet on footrests 700 located on the left andright sides.

[0147] The craft body 3000 incorporates a frame 220 of substantiallateral width integrally linked by means of cross members 210 to a mainframe 200 comprising two members that extend parallel in thefront-to-back direction. The frames 200 and 220 are covered by the craftbody cover 4000. A pair of left and right bearing plates 250 projectupward from the center at the front end of the stand 2000, below thefront ends of the main frame 200. A support shaft 260 is suspendedbetween the two, and a crank member 270 is pivotally supported at itstop edge by the support shaft.

[0148] A support plate 280 which projects upward to the rear of thebearing plates 250 on the stand 2000 supports via a spherical bearing290 the back end of a front air cylinder 300 which extends in theforward direction. The distal end of a retractable rod 300 a whichprojects forward from the front air cylinder 300 is supported by theaforementioned crank member 270 via a pin 310.

[0149] At the front end of the main frame 200, a front end bracket 230projects downward. The lower end of the front end bracket 230 and thefront end of the aforementioned crank member 270 are linked via aspherical bearing 320.

[0150] Accordingly, when the rod 300 a of the front air cylinder 300 isextended or retracted, the crank member 270 swivels, allowing the mainframe 200 to be rocked vertically via the front end bracket 230 (seeFIG. 23 and FIG. 26). The front air cylinder 300 comprises two seriallylinked cylinders (front and rear) which share the rod 300 a.

[0151] At the back end of the stand 2, a support shaft 360 is suspendedbetween a pair of left and right bearing plates 350 which projectupward, and a rocking motion support member 370 capable of rockingforward and backward is pivotally supported at its bottom end by thesupport shaft 360 so as to extend upward. A spherical bearing 380projects from the top end of the rocking motion support member 370. Asupport shaft 390 projects rearward from the center top of the a backend bracket 240 the projects downward at the back end of the main frame200. This support shaft 390 is linked to the aforementioned sphericalbearing 380.

[0152] The back end of the main frame 200 is supported on the rockingmotion support member 370 via the spherical bearing 380 and supportshaft 390. The main frame 200 is permitted to move forward and backwardby the rocking motion support member 370 and tilt to the left and right,centered on the support shaft 390.

[0153] The aforementioned back end bracket 240 projects downward towardthe left side, as shown in FIG. 25, and a support shaft 400 is providedto its bottom end. Two serially linked rear air cylinders 410 and 420mated back-to-back are disposed below the rear bracket 240. The distalend of the rod 410 a of one rear air cylinder 410 is linked to theaforementioned support shaft 400 via a spherical bearing 430, and thedistal end of the rod 420 a of the other rear air cylinder 420 issupported via a spherical bearing 440 in a bracket 450 located inproximity to the right edge of the stand 2000.

[0154] Thus, the rear air cylinders 410 and 420 are disposed in theinclined attitude shown in FIG. 25 by means of linking the distal end ofthe upper rod 410 a to the spherical bearing 430 which is offset to theleft of the rear bracket 240 integrated with the main frame, and bylinking the distal end of the lower rod 420 a to the spherical bearing440 which projects from the bracket 450 located in proximity to theright edge of the stand

[0155] When the craft body 3000 is in the laterally horizontal attitudeshown in FIG. 25 and FIG. 27, the disposition of the serially linkedrear air cylinders 410 and 420 is such that the rod 410 a of the rearair cylinder 410 is contracted and the rod 420 a of the rear aircylinder 420 is extended.

[0156] When the right side of the frames 200 and 220 is lowered into theTight-inclined attitude shown in FIG. 28, the retracted rod 410 a of therear air cylinder 410 extends so that both rear air cylinders 410 and420 are extended.

[0157] Conversely, when the left side of the frames 200 and 220 islowered into the left-inclined attitude shown in FIG. 29, the extendedrod 420 a of the rear air cylinder 420 retracts so that both the rearair cylinders 410 and 420 are retracted.

[0158] The pressure applied to both rear air cylinders 410 and 420 by anelectropneumatic regulator (electrical pressure control device), whichcontrols air pressure by means of electrical signals, can be varied.High pressure makes it difficult for the rods 410 a and 420 a to beextended or retracted by external force; conversely, low pressure allowsthe rods 410 a and 420 a to be readily extended or retracted.

[0159] When a player sitting on the craft body 3000 shifts his or herweight in the lateral direction, the craft body 3000 will tilt moreeasily the lower the pressure. Tilt of the craft body 3000 to the leftor right is sensed by the tilt sensor 120.

[0160] As noted above, the craft body 3000 can be tilted throughshifting the rider's body weight, and naturally is it also possible toactively operate the rear air cylinders 410 and 420 in order to forciblyrock the craft body 3000.

[0161] A schematic block diagram of the control system for a craftsimulator 100 like that described above is presented in FIG. 30. A mainboard 500 which generally controls the entire craft simulator 100advances the game, while a control board 510 controls the drive of theaforementioned front air cylinder 300 and rear air cylinders 410 and420.

[0162] Sensor signals from the aforementioned steering angle sensor1000, acceleration control sensor 110, tilt sensor 120, and the like areinput to the main board 500, while sensor signals from the steeringangle sensor 1000 and tilt sensor 120 are input separately and directlyto a control board 510. Instruction signals for rocking the craft body3000 are output from the main board 500 to the control board 510 as thegame proceeds; conversely, control status signals for the craft body3000 are output from the control board 510 to the main board 500.

[0163] Since the craft simulator 100 is modeled after a jet-ski, anocean scene is shown as a image on the television monitor 900, making itpossible to provide the player riding on the craft body 3000 with theimpression of actually riding a jet-ski over the ocean when the image isviewed.

[0164] As the game proceeds, the main board 500 outputs imageinstruction signals to an image processing device 520. The imageprocessing device 520 processes the image instruction signals outputsimage signals to the television monitor 900 so that the images areshown.

[0165] The control board 510, on the other hand, inputs sensor signalsfrom the steering angle sensor 100 and tilt sensor 120, as well asinstruction signals from the main board 500, and controls the variouselectromagnetic valves of the pneumatic Circuit 530, theelectropneumatic regulator, and the like to drive the front air cylinder300 and the rear air cylinders 410 and 420.

[0166] The pneumatic circuit 530 is depicted in FIG. 31. Air pressure islowered through pressure reducing valves 620 and 630 via a stop valve600 and a filter 610. One pressure reducing valve 620 is connected toelectropneumatic regulators 640 and 700 via two branched routes.

[0167] One electropneumatic regulator 640 is connected to one port of afive-port, three-position change-over valve 650. Two other ports of thefive-port, three-position change-over valve 650 are connected to amuffler, and each of the other two ports is connected to a port of atwo-port, two-position change-over valve 660 and 670. The other ports ofthe two-port, two-position change-over valves 660 and 670 are connectedrespectively to the two ports of the front cylinder of theaforementioned front air cylinder 300.

[0168] The aforementioned pressure reducing valve 630 is connected tothe head-side port of the rear cylinder of the front air cylinder 300via a two-port, two-position change-over valve 680. The rod-side port ofthe rear cylinder is connected to another two-port, two-positionchange-over valve 690.

[0169] As noted earlier, the front air cylinder 300 comprises two (frontand rear) cylinders with a common rod 300 a. The rear cylinder isconstantly maintained at the extended side through the application ofconstant pressure via the two-port, two-position change-over valves 680and 690, thereby providing equilibrium with force acting in theretraction direction produced by the weight of the rider on the craftbody 3000. Accordingly, the craft body 3000 is kept stable and an airspring action is produced, making it possible to use low air pressure todrive the other cylinders to rock the craft body 3000.

[0170] Air pressure regulated by the electropneumatic regulator 640 isapplied to the two ports of the front cylinder via two-port,two-position change-over valves 660 and 670 under switching control bythe five-port, three-position change-over valve 650, thereby making itpossible to control the stroke position and speed of motion of the rod300 a.

[0171] The electropneumatic regulator 700 located on the other routebranching off from the aforementioned pressure reducing valve 620 isconnected via a four-port, two-position change-over valve 710 and atwo-port, two-position change-over valve 720 to the rod-side port of onecylinder 410 of the rear air cylinders 410 and 420, as well as inparallel to the rod-side port of the other cylinder 420 via a four-port,two-position change-over valve 730 and a two-port, two-positionchange-over valve 740.

[0172] The head-side ports of the cylinders 410 and 420 are connectedrespectively to a two-port, two-position change-over valves 750 and 760;the other ports of the two two-position change-over valves 750 and 760merge into a single line connected to a flow regulating valve 770.

[0173] In contrast to the front air cylinder 300, the rear air cylinders410 and 420 do not have a common rod, but constitute independentcylinders 410 and 420 each having its own rod 410 a and 420 a. Pressurecontrol is performed by a separate electropneumatic regulator 700.

[0174] Assuming the craft body 3000 to be in the horizontal attitudedepicted in FIG. 27 and traveling at a speed produced by a certainacceleration control, the air pressure P is controlled in accordancewith steering angle φ in the manner shown in FIG. 32. In FIG. 32, thevertical axis represents the air pressure P; the horizontal axis to theright of the origin represents the steering angle φ towards the rightand the horizontal axis to the left represents the steering angle φtowards the left.

[0175] When the player turns the steering handle 5 to the right, the airpressure P in the cylinder 410 (the solid line in FIG. 32) drops as theright steering angle increases, while the cylinder 420 (the broken linein FIG. 32) is maintained at a constant air pressure P₀. Accordingly, inthe attitude depicted in FIG. 27, the rod 410 a of the cylinder 410 isextended and retracted easily, and a shift of the player's weight towardthe right side easily tilts the craft body 3000 to the right, as shownin FIG. 28. The craft body 3000 tilts more easily to the right thegreater the right steering angle φ.

[0176] Conversely, as the steering handle 500 is turned to the left andthe left steering angle φ increases, the cylinder 410 is maintained at aconstant air pressure P₀ while the air pressure P in the cylinder S2drops. The rod 420 a of the cylinder 420 becomes readily extended andretracted, and a shift of the player's weight toward the left sideeasily tilts the craft body 3000 to the left, as shown in FIG. 29. Thecraft body 3000 tilts more easily to the left the greater the leftsteering angle φ.

[0177] The steering angle and tilt of the craft body 3000 determine theturning radius of the craft body 3000 in the game. The main board 500inputs the steering angle and craft body tilt from the sensor signalsfrom the steering angle sensor 1000 and the tilt sensor 120, and sets asmaller turning radius the greater these values. This makes sharp turnspossible.

[0178] The example of control given above takes place at a certaintravel speed. When the speed is varied through acceleration control, theslope of the sloped air pressure characteristics lines for the cylinder410 and cylinder 420 shown in FIG. 32 changes, the slope becomingflatter at higher speeds. Accordingly, it becomes progressively moredifficult to tilt the craft body by shifting body weight.

[0179] By using an appropriate combination of handle control, bodyweight shifting to the left or right, and acceleration control, a playercan execute a smooth turn. However, if handle control and body weightshifting are not done in the right way, it becomes difficult to executea desired turn, so a certain degree of skill is required. This skillrequirement makes the game more interesting, and challenges the playerin to improve his or her skill through repeated play.

[0180] The craft simulator 100 can be designed such that variousobstacles are placed on the course, or such that waves ranging fromlarge to small in size are generated, and these images are displayed onthe television monitor 900 as the craft body 3000 is rocked by thewaves. Under this scenario, the craft body 3000 can rocked up and downby the front air cylinder 300 to produce pitching while actively drivingthe rear air cylinders 410 and 420 to rock the craft body 3000 to theleft and right to produce rolling.

[0181] As described above, the image processing unit and imageprocessing method of the present invention allow the height of a givenposition on the surface of a field to be varied over time, and an objectto be moved in an interactive manner over this field. In particular, itis possible to create data for interactive effects (such as boat wakes)representing interaction between object and field, to makedeterminations regarding contact of an object with the field surface,and to correct the tilt of an object in accordance with the slope of thefield surface. In addition, since mesh treatment is used for display ofphysical objects partially submerged in the water within athree-dimensional virtual space, a more realistic and richer shiftingfield, such as a water surface over which a motor boat, jet-ski, orother object travels, can be represented. Furthermore, the mode ofcontact (touch) between a jet-ski or other objet and the water surfacein a three-dimensional virtual space can be determined accurately, andaccordingly the height of the object can be accurately reflected in theimage display. In addition, wakes, partially submerged objects, and thelike can be represented accurately with fewer calculations.

[0182] In accordance with the game device of the present invention, agame device wherein a craft equipped with means for allowing a player toride in real space and to input control information and with a rockablysupported cage is combined with an image processing device for creatingimage data whereby a character portraying the aforementioned craft ismoved over a field in three-dimensional virtual space in response to theaforementioned control information is provided with field shifting meansfor changing the height of a given position of the field surface overtime and cage rocking means for rocking the cage of the craft inresponse to the changes in field surface height produced by this fieldshifting means, thereby providing the player with the impression of thatthe craft which he or she is riding is traveling over the surface of thewater, and heightening the ambiance and interest of the game.

[0183] The craft simulator of the present invention makes it possible torock the craft body in various ways with a small number of cylinders,and, in combination with images displayed on a television monitor, toprovide exciting play whereby the player is given the impression ofactually controlling a jet-ski. In addition, motion trails of movingobjects are drawn and then rendered transparent so as to disappear overtime, thereby reducing the load required by drawing. Since the drawnmotion trails disappear in an appropriate manner, they do not impair theplayer's field of Vision, while at the same time enhancing dramaticeffect.

1. In an image processing device for processing image data for moving anobject over a field in three-dimensional virtual space, an imageprocessing device comprising: field shifting means for changing theheight at given positions of the field surface over time; and objectmoving means for moving the object over the field in an interactivemanner.
 2. An image processing device as defined in claim 1 , whereinthe field shifting means changes over time in the height values of givenpositions above a two-dimensional plane serving as reference for thefield, and the object moving means computes values for the height of theobject corresponding to these height values.
 3. An image processingdevice as defined in claim 1 , wherein the field is a water surfaceestablished in three-dimensional virtual space, and the object is ajet-ski, boat, or other watercraft which travels over this watersurface.
 4. An image processing device as defined in claim 1 , whereinthe field shifting means comprises: memory means for storing wave heightvalues set above the two-dimensional plane serving as reference for thefield; and calculation means for calculating, on the basis of the waveheight values, surface motion involving two-dimensional wave motionthrough sine wave-cosine wave synthesis for the wave height values. 5.An image processing device as defined in claim 1 , wherein the fieldshifting means comprises: memory means for storing swell height data ofa two-dimensional distribution pre-established in correlation withtwo-dimensional position above the two-dimensional plane serving asreference in the three-dimensional virtual space; recognition means forrecognizing at periodic intervals the current two-dimensional positionof the object; readout means for reading out from the memory means theswell height data corresponding to a recognized two-dimensionalposition; and calculation means for calculating at periodic intervals,on the basis of the read-out swell height data, swell data for the watersurface produced by two-dimensional wave motion over the two-dimensionalplane.
 6. An image processing device as defined in claim 4 wherein thememory means is set such that the swell height data is assigned to aplurality of blocks into which the reference plane has been divided,with the numerical values for the swell height data differing for atleast two of these blocks.
 7. An image processing device as defined inclaim 4 , wherein the memory means is set such that the swell heightdata is assigned to a plurality of blocks into which the reference planehas been divided, with the wave height value set for each block.
 8. Animage processing device as defined in claim 4 , wherein the memory meanshas a memory with a multiple layer structure, and a different type ofthe swell height data is stored in each layer of this memory.
 9. Animage processing device as defined in any of claim 4 , wherein thecalculation is a means for calculating periodically fluctuating swelldata comprising a wave synthesized from a sine wave and a cosine wave.10. An image processing device as defined in claim 9 , wherein thecalculation means is a means for performing calculations of thesynthesized wave for individual polygons corresponding to a plurality ofgrid positions.
 11. An image processing device as defined in claim 10 ,wherein the field shifting means comprises: setting means for setting aplurality of display areas, with a plurality of the polygonsconstituting a single object; and designation means for designating asdisplay polygons the polygons lying within a visual field in theplurality of display areas.
 12. An image processing device as defined inclaim 4 wherein the calculation means comprises: determination means fordetermining whether the swell height data corresponding to the currenttwo-dimensional position of the object currently read out differs by aprescribed value or more from the previous swell height data; andcreation means for, in the event that this determination means hasdetermined that there is a difference of prescribed value or more,creating swell height data through infinitesimal increase or decrease ofthe previous swell height data in accordance with the difference betweenthe previous and current swell height data.
 13. An image processingdevice as defined in claim 1 , further comprising: interactive effectcreation means for creating data for interactive effects which representobject interactivity on the field.
 14. An image processing device asdefined in claim 10 , wherein the field is a water surface establishedin the three-dimensional virtual space, the object is a jet-ski, boat,or other watercraft which travels over this water surface, and theinteractive effect is a wake produced on the water surface by thewatercraft.
 15. An image processing device as defined in claim 14 ,wherein the interactive effect creation means comprises: data creationmeans for creating, as the interactive effect data, data for motiontrail polygons which elongate in accordance with object position andangle of advance on the two-dimensional plane serving as reference inthe three-dimensional virtual space.
 16. An image processing device asdefined in claim 15 , wherein the data creation means is a means forsevering the motion trail polygon in accordance with the motion trailpolygon length, elongation time, or the angle of advance.
 17. An imageprocessing device as defined in claim 16 , wherein the data creationmeans includes a means for suspending drawing of the motion trailpolygon when the object rises to a prescribed distance above thereference plane.
 18. An image processing device as defined in claim 16 ,wherein the interactive effect creation means comprises: instructionmeans for issuing instructions to continue to draw a motion trailpolygon for a prescribed period of time when the motion trail polygonhas been severed, and, after continuing drawing for this prescribedperiod of time, to draw the motion trail polygon while shrinking its thelength.
 19. An image processing device as defined in claim 1 , furthercomprising: contact determination means for determining the mode ofcontact between the object and the field surface.
 20. An imageprocessing device as defined in claim 19 , further comprising:correction means for correcting object position on the basis of thedetermination by the determination means.
 21. An image processing deviceas defined in claim 20 , wherein the correction means corrects theobject parameter pertaining to the height of the object in theperpendicular direction above the two-dimensional plane serving asreference in the three-dimensional virtual space on the basis of thedetermination by the determination means.
 22. An image processing deviceas defined in claim 21 , wherein the correction means is a means formoving the object upward in the vertical direction in a mannercorresponding to the displacement of the object when it has beendetermined by the determination means that the field surface is in ahigher position than the object; and moving the object downward in thevertical direction by allowing the object to free-fall when it has beendetermined by the determination means that the field surface is in alower position than the object.
 23. An image processing device asdefined in claim 21 , further comprising: tilt correction means forcorrecting the tilt of the object in the three-dimensional virtual spacein accordance with the slope of the field surface at a two-dimensionalposition on the two-dimensional plane.
 24. An image processing device asdefined in claim 23 , wherein the tilt correction means is a means forperforming processing at prescribed time intervals to gradually causethe tilt of object to approximate the slope of the field surface.
 25. Animage processing device as defined in any of claims 19 through 24,wherein the field is a water surface established in thethree-dimensional virtual space and the object is a jet-ski, boat, orother watercraft which travels over this water surface.
 26. In a drawingmethod for drawing a water surface established in a three-dimensionalvirtual space, a drawing method comprising the step of: performingperspective processing for images of physical objects below the watersurface, and drawing the images of the physical objects below the watersurface in front of the water surface image on the display screen. 27.An image processing device comprising: first means for creating imagedata for representing a water surface established in a three-dimensionalvirtual space; and second means for creating image data where the watersubmerged portions of physical objects at least partially submergedbelow this water surface are rendered in perspective from above thewater surface.
 28. In an image processing method for processing imagedata for moving an object over a field in three-dimensional virtualspace, an image processing method comprising the steps of: varying theheight of given positions on the surface of the field over time; as theobject is moved in an interactive manner over the field, determining themode of contact between the object and the surface of the field; and onthe basis of this determination, correcting the object parameterpertaining to the height of the object in the perpendicular directionabove the two-dimensional plane serving as reference in thethree-dimensional virtual space.
 29. An image processing method asdefined in claim 28 , wherein the field is a water surface establishedin the three-dimensional virtual space and the object is a jet-ski,boat, or other watercraft which travels over this water surface.
 30. Ina game device wherein a craft equipped with means for allowing a playerto ride in real space and input control information and with a rockablysupported cage is combined with an image processing device for creatingimage data whereby a character portraying the aforementioned craft ismoved over a field in three-dimensional virtual space in response to theaforementioned control information, a game device comprising: fieldshifting means for changing the height of given positions of the surfaceof the field over time; and cage rocking means for rocking the cage ofthe craft in response to the changes in field surface height produced bythis field shifting means.
 31. A game device as defined in claim 30 ,wherein the field is a water surface established in thethree-dimensional virtual space and the object is a jet-ski, boat, orother watercraft which travels over this water surface.
 32. In an imageprocessing device for processing image data for moving an object over afield in three-dimensional virtual space, an image processing devicecomprising: object moving means for moving the object over the field inan interactive manner; and interactive effect creation means forcreating data for interactive effects which represent objectinteractivity on the field.
 33. An image processing device as defined inclaim 32 , further comprising: contact determination means fordetermining the mode of contact between the object and the fieldsurface, and constituted such that the interactive effect creation meanscreates data for interactive effects in accordance with thisdetermination.
 34. An image processing device as defined in claim 33 ,wherein the field is a water surface established in thethree-dimensional virtual space, the object is a jet-ski, boat, or otherwatercraft which travels over this water surface, and the interactiveeffect is a wake produced on the water surface by the watercraft.
 35. Animage processing device as defined in claim 32 , wherein the interactiveeffect creation means comprises: data creation means for creating, asthe interactive effect data, data for motion trail polygons which areelongated in accordance with object position and angle of advance on thetwo-dimensional plane serving as reference in the three-dimensionalvirtual space.
 36. An image processing device as defined in claim 35 ,wherein the data creation means includes a means for truncating themotion trail polygon in accordance with the motion trail polygon length,elongation time, or the angle of advance.
 37. An image processing deviceas defined in claim 36 , wherein the data creation means includes ameans for suspending drawing of the motion trail polygon when the objectrises to a prescribed distance above the reference plane.
 38. An imageprocessing device as defined in claim 36 , wherein the interactiveeffect creation means comprises: instruction means for issuinginstructions to continue to draw a motion trail polygon for a prescribedperiod of time when the motion trail polygon has been truncated, and,after continuing drawing for this prescribed period of time, to draw themotion trail polygon while shrinking its length.
 39. A craft simulatorcomprising: a rocking component which is ridden by the player; steeringmeans provided to the rocking component; steering angle sensor means forsensing the steering angle of the steering means; support means fortiltably supporting the rocking component; left and right tilt cylindersfor maintaining left and right tilt equilibrium for the rockingcomponent; pressure control means for controlling the pressure appliedto the left and right tilt cylinders on the basis of sensor signals fromthe steering angle sensor means; and control means for exchangingprescribed control signals with the image processing device defined inclaim 1 .
 40. A craft simulator as defined in claim 39 , wherein theleft and right tilt cylinders comprise two cylinders connected inseries, with the rocking component being held in horizontal attitudewhen one cylinder is extended and the other cylinder is retracted; andwherein the pressure control means selects one of the two cylinders onthe basis of the sensed steering angle direction from the steering anglesensor means and reduces the pressure acting on the selected cylinder inaccordance with the sensed steering angle.
 41. A craft simulator asdefined in claim 39 , further comprising: tilt angle sensing means forsensing the left and right tilt angle of the rocking component; andturning radius determination means for determining the turn radius inthe game on the basis of the tilt angle sensed by the tilt angle sensingmeans and the steering angle sensed by the steering angle sensor means.42. A craft simulator as defined in claim 39 , further comprising:acceleration control means provided to the rocking component; andacceleration control sensor means for sensing the control status of theacceleration control means; wherein the turning radius determinationmeans determines the turn radius in the game on the basis of the tiltangle sensed by the tilt angle sensing means, the steering angle sensedby the steering angle sensor means, and the acceleration control statussensed by the acceleration control sensor.
 43. A craft simulator asdefined in claim 39 , further comprising: a forward/backward tiltcylinder for tilting the rocking component forward and backward; therebymaking it possible for the rocking component to tilt forward andbackward as well as to the left and right.
 44. A craft simulator asdefined in claim 39 , wherein a moving image display means is disposedin front of the rocking component, which is operated by the playerriding on the rocking component while viewing the moving imagesdisplayed on the moving image display means.
 45. A game device fordisplaying images as seen from a prescribed viewpoint in a virtualspace, comprising: drawing means for drawing motion tracks for movingobjects which move through the virtual space; and erasing means forerasing the motion trails over time.
 46. A game device for displayingmoving objects which move through a virtual game space, comprising:drawing means for drawing motion tracks left in the virtual space by themoving objects; and area reducing means for gradually reducing thedisplay area of the motion trails over time.
 47. A game device asdefined in claim 45 or 46 , further comprising: readout means forreading out the current position of a moving object; wherein the drawingmeans draws motion tracks for the moving object within a prescribedrange from the current position.